package com.ftg.learn.mall.mapper;

import com.ftg.learn.mall.entity.PmsSkuStock;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * <p>
 * sku的库存 Mapper 接口
 * </p>
 *
 * @author mallCommon
 * @since 2022-04-19
 */
public interface PmsSkuStockMapper extends BaseMapper<PmsSkuStock> {

    /**
     * 通过pid查询出对应所有库存信息。
     * @param pid
     * @return
     */
    @Select("select * from pms_sku_stock where product_id = #{pid}")
    List<PmsSkuStock> findSkuStock(@Param("pid") Long pid);

    /**
     * 通过pid查询出对应所有库存的ID。
     * @param pid
     * @return
     */
    @Select("select sku_stock_id from pms_sku_stock where product_id = #{pid}")
    List<Long> findSkuStockId(@Param("pid") Long pid);

    /**
     * 批量更新库存表内信息的时候，如果更改了某个规格的库存量，同时也应该更新对应商品信息中的商品库存总量
     * @param stock
     * @param pid
     * @return
     */
    @Update("update pms_product set stock = #{stock} where product_id = #{pid}")
    boolean updateProductStock(@Param("stock") Integer stock,@Param("pid") Long pid);

}
